package com.papers.juan.domain.dto;

import com.papers.common.core.validate.AddGroup;
import com.papers.common.core.validate.EditGroup;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class InsertQuestion {

    /**
     * ID
     */
    @NotBlank(message = "ID不能为空", groups = {EditGroup.class})
    private String questionId;

    /**
     * 题库id
     */
    private String reposId;

    /**
     * 课程ID
     */
    @NotBlank(message = "课程ID不能为空", groups = {AddGroup.class, EditGroup.class})
    private String courseId;

    /**
     * 章节ID
     */
    private String chapterId;

    /**
     * 知识点ID
     */
    @NotBlank(message = "知识点ID不能为空", groups = {AddGroup.class, EditGroup.class})
    private String knowledgeId;

    /**
     * 编码
     */
//    @NotBlank(message = "编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String questionCode;

    /**
     * 题目类型
     */
    @NotBlank(message = "题目类型不能为空", groups = {AddGroup.class, EditGroup.class})
    private String questionType;

    /**
     * 难度系数
     */
    private BigDecimal questionDifficult;

    /**
     * 难易程度
     */
    private String questionEasy;

    /**
     * 专业
     */
    private String questionMajor;

    /**
     * 年级
     */
    private String questionGrade;

    /**
     * 题干
     */
    private String questionSubject;

    /**
     * 选项内容JSON
     */
    @NotBlank(message = "选项内容不能为空", groups = {AddGroup.class, EditGroup.class})
    private String questionContent;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新人
     */
    private String updatedBy;

    /**
     * 更新时间
     */
    private Date updatedTime;
    /**
     * 相关性
     */
    private String relevance;

    /**
     * 考核内容
     */
    private String examine;

    /**
     * 能力层次
     */
    private String capabilityLevel;
    /**
     * 分值
     */
    private Integer score;
    /**
     * 答案
     */
    @NotBlank(message = "答案不能为空", groups = {AddGroup.class, EditGroup.class})
    private String answer;

    /**
     * 类型
     */
    private String treeType;
}
